package org.pms.core.service;

import java.util.List;

import org.pms.core.entity.Person;
import org.pms.core.exception.ServiceException;

public interface PersonService {

	/**
	 * Efetua busca de todas as pessoas
	 * @return List<Person> todas as pessoas
	 */
	List<Person> findAllPerson() throws ServiceException;

	/**
	 * Procura pessoa pelo seu identificador
	 * @param id
	 * @return
	 */
	Person findPersonById(Integer id) throws ServiceException;

	/**
	 * Salva os dados da pessoa no banco de dados
	 * @param person dados da pessoa a serem salvos
	 * @return Person dados da pessoa após serem salvos
	 */
	Person savePerson(Person person) throws ServiceException;

	/**
	 * Remove pessoa do banco de dados
	 * @param person pessoa a ser removida
	 */
	void delete(Person person) throws ServiceException;

}